perm filename PATTER.LSP[F77,JMC]2 blob
sn#318042 filedate 1977-11-20 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00003 00003 (DEFUN
C00004 ENDMK
Cā;
(DEFUN INST1 (PAT EXPR A) (COND ((EQ A 'NO) 'NO)
((ISVAR PAT) ((LAMBDA (Z) (COND ((NULL Z) (CONS (CONS PAT EXPR) A))
((EQ (CDR Z) EXPR) A) (T 'NO))) (ASSOC PAT A)))
((ATOM PAT) (COND ((EQ PAT EXPR) A) (T 'NO)))
((ATOM EXPR) 'NO)
(T (INST1 (CDR PAT) (CDR EXPR) (INST1 (CAR PAT) (CAR EXPR) A)))))
(DEFUN ISVAR (X) (MEMBER X '(X X0 X1 X2 Y Y0 Y1 Y2 Z Z0 Z1 Z2 U U0 U1 U2
V V0 V1 V2 W W0 W1 W2)))
(DEFUN
SOLS
(E A R U)
(COND
((ATOM E)
(COND
((ISVAR E)
((LAMBDA
(W)
(COND
((NULL W) (CONS (CONS E R) U))
(T U)))
(ASSOC E U)))
(T U)))
((EQ (CAR E) 'QUOTE) (COND ((EQ (CADR E) R) (CONS (CONS E R) U)) (T U)))
((EQ (CAR E) 'CONS) (COND ((ATOM R) U) (T (SOLS (CADDR E)